class TestSystem {
    public static void main(String[] args) {
        // 第一步：创建课程实例（初始化课程基本信息）
        Course math = new Course("C001", "高等数学", "第一教学楼101室", "周一/周三 14:00-16:00", 4);
        Course java = new Course("C002", "Java编程", "第二教学楼205室", "周二/周四 09:00-11:00", 3);

        // 第二步：创建教师实例，并调用“开课”方法
        Teacher liTeacher = new Teacher("T001", "李老师", "女");
        Teacher wangTeacher = new Teacher("T002", "王老师", "男");
        liTeacher.openCourse(math);   // 李老师开高等数学
        wangTeacher.openCourse(java); // 王老师开Java编程

        // 第三步：创建学生实例，模拟“选课/退课/打印课表”
        Student zhang = new Student("S001", "张三", "男");
        Student li = new Student("S002", "李四", "女");

        // 学生1：张三的操作
        zhang.selectCourse(math);    // 选高等数学
        zhang.printSchedule();       // 打印课表
        zhang.dropCourse();          // 退高等数学
        zhang.selectCourse(java);    // 选Java编程
        zhang.printSchedule();       // 打印更新后的课表

        // 学生2：李四的操作
        li.selectCourse(math);       // 选高等数学
        li.printSchedule();          // 打印课表
    }
}
